#ifndef SCENE_H
#define SCENE_H

class Scene
{
public:
    virtual void PrepareScene(NxScene *scene) = 0;
    virtual void CleanScene() = 0;

    virtual void Update() = 0;
    virtual void Draw() = 0;

    virtual void HandleKeyboardEvent(unsigned char key, int x, int y) = 0;
    virtual void HandleKeyboardSpecialEvent(int key, int x, int y) = 0;
    virtual void HandleMouseClickEvent(int button, int state, int x, int y) = 0;
    virtual void HandleMousePressedMovementEvent(int x, int y, int dx, int dy) = 0;
};

#endif //SCENE_H
